Jak nauczyliśmy maszyny liczyć i myśleć za nas? Część 21: Jak walczyć z błędami programów?
Testowanie oprogramowania stało się obowiązującą procedurą w przypadku większości dużych projektów informatycznych i ten stan trwa do dzisiaj. Natomiast w dobrych firmach produkujących oprogramowanie są całe zespoły dociekliwych, a nawet zawodowo złośliwych testerów.
W poprzednim odcinku tego cyklu felietonów przedstawiłem kilka informacji na temat skutków błędów w programach. Wspomniane wyżej przykłady to „wierzchołek góry lodowej” – mała część ogromnej liczby różnych problemów, na które natknęła się coraz bardziej uzależniona od komputerów działalność ludzi i instytucji. Większość tych problemów pojawiła się na skutek występowania błędów w programach.
Błędy w programach komputerowych są bardzo trudne do wykrycia. Gdy już ustalimy, że błąd jest – jego lokalizacja i usunięcie nie stanowią zasadniczego problemu. Ale jak się upewnić, że żadnego błędu nie ma? To jeden z najpoważniejszych problemów informatyki.
Testowanie, czyli walka z błędami
Próbowano różnych metod formalnych, o których napiszę dalej, ale praktyka jest taka, że programy po ich napisaniu się testuje. Polega to na wielokrotnym uruchamianiu programu z różnymi zestawami danych wejściowych, dla których prawidłowy wynik jest znany i może być sprawdzony.
We wczesnym okresie rozwoju informatyki (do 1956 r.) wspomniany wyżej debugging (mający na celu wykrycie ewidentnych błędów popełnionych przez programistę) oraz testowanie programu traktowano jako w istocie tę samą czynność. Było to po prostu empiryczne badanie...
Archiwum Rzeczpospolitej to wygodna wyszukiwarka archiwalnych tekstów opublikowanych na łamach dziennika od 1993 roku. Unikalne źródło wiedzy o Polsce i świecie, wzbogacone o perspektywę ekonomiczną i prawną.
Ponad milion tekstów w jednym miejscu.
Zamów dostęp do pełnego Archiwum "Rzeczpospolitej"
ZamówUnikalna oferta